Expand description

Traits and types for UTF-8 I/O

Structs

An interactive UTF-8 stream, combining Utf8Reader and Utf8Writer.

A Read implementation which translates from an input Read producing an arbitrary byte sequence into a valid UTF-8 sequence with invalid sequences replaced by U+FFFD (REPLACEMENT CHARACTER) in the manner of String::from_utf8_lossy, where scalar value encodings never straddle read calls (callers can do str::from_utf8 and it will always succeed).

A Write implementation which translates into an output Write producing a valid UTF-8 sequence from an arbitrary byte sequence from an arbitrary byte sequence. Attempts to write invalid encodings are reported as errors.

Traits

Extend the Read trait with read_str, a method for reading UTF-8 data.

Add a convenience and optimizing method for writing from str.

Functions

Like std::io::copy, but for streams that can operate directly on strings, so we can avoid re-validating them as UTF-8.

Default implementation of Write::write_fmt, in terms of WriteStr::write_str.

Default implementation of WriteStr::write_str, in terms of Write::write_all.